An increasing amount of processing power, memory capacity, storage capacity, and network data transmission bandwidth is available at decreasing cost. Consequently, the cost of managing stored data is becoming more expensive than the cost of the storage capacity. One way of dealing with this problem is to service multiple users with storage from a network storage system so that the management of the stored data can be consolidated and shared among the multiple users. The network storage system may also provide more efficient capabilities for sharing of the stored data among the multiple users, for moving less frequently accessed data to less expensive mass storage devices, and for providing backup and recovery for disaster protection.
Logical volume management relates to storage management by partitioning of storage of a storage system into logical volumes. A logical volume can then be assigned to a particular client or a group of clients, or a file system shared among a group of clients can be built on a logical volume. The partitioning of storage of a storage system into logical volumes typically involves arranging the storage into physical volumes, configuring volume groups of the physical volumes, and then configuring logical volumes within the volume groups. In general, a physical volume (PV) consists of one or many partitions (or physical extent groups) on a physical drive. A volume group (VG) is composed of one or more physical volumes, and contains one or more logical volumes. A logical volume is a unit of logical storage contained within a volume group.
A specific example of a known method of logical volume management is a Linux Logical Volume Management (LVM) utility. LVM keeps a metadata header at the start of every physical volume, each of which is uniquely identified by a universally unique identifier (UUID). Each physical volume's header is a complete copy of the entire volume group's layout, including the UUIDs of all other physical volumes, the UUIDs of all logical volumes, and an allocation map of physical extents to logical extents. This simplifies data recovery in the event of physical volume loss. The logical volumes are defined as virtual block devices having contents mapped to certain physical volumes. For example, to bring a volume group online, a “vgchange” tool searches for physical volumes in all available block devices, parses the metadata header in each PV found, computes the layouts of all visible volume groups, and loops over each logical volume in the volume group to be brought online. Each logical volume is brought online by checking if the logical volume has all its physical volumes visible, and then creating a new, empty device mapping, and mapping the logical volume onto the data areas of the physical volumes that the logical volume belongs to.